It has been proposed to use programmable magnetoresistive elements in memory cells to provide non-volatile data storage. Such elements are programmable to adopt one of two different resistive states. The programmed resistive state is maintained even when a supply voltage of the memory cell is disconnected, and thus data can be stored by such elements in a non-volatile fashion.
Various types of magnetoresistive elements have been proposed, some of which are capable of being programmed by the direction of a current that is passed through the element. An example of such a current-programmable magnetoresistive element is a magnetic tunnel junction having a write mechanism based on STT (spin transfer torque).
In order to increase the data bandwidth of operations performed between one or more processors and a memory, it has been proposed to use multiport memories in which each memory cell may be read and written at the same time.
However, there is a difficulty in providing a multiport non-volatile memory cell that is efficient in terms of energy consumption during write operations and/or that provides robust data storage during read operations.